Efforts are continually being expended to improve and simplify the user/computer interface. In this regard, substantial efforts have been expended in attempts to enable a user to employ a natural language as the interface medium. A natural language interface presents a number of problems, not the least of which is that complex characteristics of natural language cannot easily be mapped to data structures that a computer can interpret and respond to. Consequently, natural language interaction systems have traditionally suffered from a lack of clarity, insofar as understanding and response to instructions and queries are concerned. Given such a limitation, a user is often required to expend substantial effort interacting with a computer, in a trial and error mode, to shed some light on how to construct a natural language query to find out about the computer's knowledge. Traditional natural language systems have also been designed with the thought that the user would query the computer and the computer would respond without any feedback to assist the user in understanding the computer's internal representation of the knowledge and in such a way as to aid the user in restructuring the query.
Many sophisticated computers employ a help function to enable the user to overcome difficulties experienced in the course of operating the computer. One such help system which incorporates concepts, techniques and tools from the field of the artificial intelligence is described in "Reason: An Intelligent User Assistant For Interactive Environments" Prager et al., IBM Systems Journal, Vol. 29, No. 1, 1990, pages 141-163. The Reason interface enables a user to a query a computer system using a natural language input. It includes a parser, which produces a "case frame"-format syntactical analysis of the user's input query. The case frame analysis is then used to generate a goal-expression that is an internal data structure corresponding to the user input. The goal expression is employed in a search for an answer to the user's query, the goal expression being used solely as an internal-computer search vehicle.
In response to a natural language query, the Reason system searches its internal knowledge base for an answer to the query. In the course of the search, the goal-expression is matched to goal-expression data structures associated with entries in the knowledge base. When a match is found, inferencing rules are applied to the solution to create suggestions and explanations based upon the user's current context which are then sent back to the user's display terminal. In other words, Reason does not make a suggestion unless it is executable, given the current user's computing environment. The Reason interface does not include a capability to enable a user to "browse" through the knowledge base to determine a set of potential answers to a query regardless of current context. It further does not assist the user in restructuring the query so as to provide a more specific response from the knowledge base.
Copending U.S. Pat. No. 5,239,617, entitled "Method and Apparatus For Providing an Intelligent Help Explanation Paradigm Paralleling Computer User Activity" of Gardner et al., assigned to the same assignee as this application, describes certain aspects of the Reason interface.
Others have attempted to overcome the deficiencies of natural language query systems by using a menu-based natural language discourse as the mode of interaction. Such systems impose an artificial limit on the set of queries that can be constructed.
Others have explored ways of minimizing the computer's processing burden by requiring user inputs to be in a more constrained form of natural language. Results of such studies have found that such a form may be desirable, as well as more practicable for enhancing efficiency and satisfaction with the interface system.
Slater et al. in "Pygmalian at the Interface" Communications of the ACM, July 1986, vol. 29, No. 7, pages 599-604 describe a natural language interface wherein feedback is used to help the user acquire formal language skills in constructing queries for the system. As the interface described by Slater et al. is employed merely for the purpose of indicating that feedback could aid in enhancing user input skills, no relationship between the input language and internal computer data structures is described or considered.
Other prior art that considers human factors and natural language interfaces is as follows: Shneiderman, "A Note On Human Factors Issues of Natural Language Interactions With Database Systems", Information Systems, vol. 6, No 2. pages 125-129 (1981); Barnet et al., "Knowledge and Natural Language Processing", Communications of the ACM, August, 1990, vol. 33, No. 8, pages 50-71 and Tyler et al, "An Interface Architecture To Provide Adaptive Task-Specific Context For The User", International Journal of Man-Machines Studies, 1989, vol. 30, pages 303-327.
The patent prior art also shows various uses of natural language interfaces for computer systems. U.S. Pat. No. 4,914,590 to Loatmann et al., describes a system that understands natural language inputs. The system uses a syntactic parser to produce case frames for subsequent analysis. The Loatmann et al. system includes a browser function wherein windows are displayed including menus in which the user is enabled to select any displayed node within the system to be operated upon. Several types of browser windows are described, i.e., network windows which show a graph of part of the network defined by the system, and frame windows which graph an internal structure of individual objects. Loatmann et al. make no provision for feedback to the user of the natural language input to enable revision of the inputs or provide a broadly based browse function that enables multiple matches to be fed back for user analysis.
U.S. Pat. No. 4,688,195 to Thompson et al. describes a system for automatic generation of a set of menus that enables a user to access a database by selection of a natural language insert in the menu.
U.S. Pat. No. 4,670,848 to Schramm describes an interface system wherein a dialogue is provided with the user to clarify ambiguities in the user's natural-language input. The purpose of the dialogue is to narrow down the set of possible meanings of the user's input to a single one that may be appropriately responded to.
U.S. Pat. No. 4,967,368 to Bolling et al. describes a system that stores knowledge in a knowledge base of hierarchically defined terms and their definitions. When a user inputs a term, the system performs inferencing to traverse the hierarchy and provide a definition of the term.
U.S. Pat. No. 4,931,935 to Ohira et al. addresses the analysis of a natural language input on a word/clause basis by building a partial semantic/syntactic tree. This tree is constructed by evaluating, sequentially, the user's input. The system also predicts user input and displays it on the screen for future selection by the user.
U.S. Pat. No. 4,803,642 to Muranaga describers a method of searching for attributes of an object entered as an input. Internally, the object is described with an attribute name/attribute value. The inferencing process relates, via weights indicating semantic strength, the attribute that has the largest weight in describing an object. This attribute is then chosen for display.
U.S. Pat. No. 4,811,199 to Kuechler et al. describes a system for enabling an information based system to communicate with another subsystem in a computer through the use of a mapping technique.
Accordingly, it is an object of this invention to provide a user/computer natural language interface that enables a browse function.
It is another object of this invention to provide a user/computer interface that employs a natural language and a browse function and wherein the browse function provides a feedback of a paraphrased response to a user inquiry, which response is selectable by the user for further solution to the inquiry.